package com.asset.dispoal.business.bsAgreement.api;

import com.asset.dispoal.business.bsAgreement.dto.AgreementDataRequest;
import com.asset.dispoal.business.bsAgreement.dto.AgreementDataResponse;
import com.asset.dispoal.business.bsAgreement.dto.AgreementRequest;
import com.asset.dispoal.business.bsAgreement.dto.AgreementResponse;
import com.asset.dispoal.business.bsAgreement.dto.EvidenceDataRequest;
import com.asset.dispoal.business.bsAgreement.dto.MergeDownloadRequest;
import com.asset.dispoal.business.bsAgreement.dto.MergeDownloadResponse;
import tech.mhuang.pacebox.springboot.protocol.Result;
import tech.mhuang.pacebox.springboot.protocol.data.PageVO;

import java.util.List;

/**
 * @author qr
 * @date 2022/4/11$
 */
public interface BsAgreementService {

    /**
     * 根据身份证查询合同
     *
     * @param request
     * @return
     */
    Result<List<AgreementResponse>> queryAgreement(AgreementRequest request);

    AgreementDataResponse queryAgreementData(String agreementId);


    Result updateAgreementData(AgreementDataRequest agreementDataRequest);


    /**
     * 案件追踪
     *
     * @param agreementRequest
     * @return
     */
    Result<PageVO<AgreementResponse>> caseTracking(AgreementDataRequest agreementRequest);

    Result abolishCase(String agreementId, String wasteReasonId);

    Result caseClose(String agreementId);

    Result resumeState(String agreementId);

    Result<PageVO<MergeDownloadResponse>> queryMergeDownload(MergeDownloadRequest request);

    Result<PageVO<AgreementResponse>> queryEvidenceDataPage(EvidenceDataRequest request);
}
